package ec.edu.ups.cidi.siia.plamdep.utils.configuracion;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.ArrayList;
public class ConfiguracionCargaDocumentos 
{

    public static  ArrayList<String> rgxReferencia=new ArrayList<String>();
    public static  ArrayList<String> rgxParrafoCitado=new ArrayList<String>();

    
    
    public  ConfiguracionCargaDocumentos()
    {
        //valores por defecto
    	rgxReferencia.add("([A-Z][a-z]+(\\s)*)+,(\\s)*“.+”.*");//referencia para formatos ieee Autor, "obra".....
        rgxParrafoCitado.add(".*\\[[0-9]+\\]\\.?");
        rgxParrafoCitado.add("(\\.).*\\[[0-9]+\\]\\.?");
    }
    
    public static void loadConfiguracionFromArchivo(File archivo )
    {
    	try {
            if(archivo.exists())
            {
               rgxReferencia=new ArrayList<String>();
               rgxParrafoCitado=new ArrayList<String>();
               FileReader fr = new FileReader (archivo);
               BufferedReader br = new BufferedReader(fr);
               String linea="";
               while((linea=br.readLine())!=null)
                 if(linea.trim().length()>0)
                     setearConfiguracion(linea);
               fr.close();
               
            }
            else
            {
            	System.out.println("Archivo de configuracion ConfiguracionCargaDocumentos no encontrado, matiene valores default");
            	
            }
         }
         catch(Exception e){e.printStackTrace();   }
    }
    
    
    
   private static void setearConfiguracion(String conf)
    {
        try{
        	
    	if(conf.trim().startsWith("#"))return;
        String[] separacion=conf.split("=");
        if(separacion.length!=2)return;
        
        String parametro=separacion[0].trim();
        String valor=separacion[1].trim();
        System.err.println("Estableciendo parametro: "+parametro+"   en "+valor);
        
        if(parametro.compareToIgnoreCase("rgxReferencia")==0) rgxReferencia.add(valor);
        else if(parametro.compareToIgnoreCase("rgxParrafoCitado")==0) rgxParrafoCitado.add(valor);
        else  System.err.println(parametro+":"+valor+ " No seteados");
               
        }catch(Exception e){ System.err.println("Parametro no valido");}
    }
}